package com.qfedu.yanglao20admin.sysAdmin.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qfedu.yanglao20.entity.sysAdmin.*;
import com.qfedu.yanglao20admin.sysAdmin.param.SysUserParam;
import com.qfedu.yanglao20admin.sysAdmin.vo.SysUserPasswordVO;
import com.qfedu.yanglao20admin.sysAdmin.vo.SysUserVO;

import java.util.List;

/**
 * 用户管理dao层接口
 */
public interface SysUserDao extends BaseMapper<SysUser> {
    /**
     * 查询所有的用户管理信息
     * @return
     */
    List<SysUserVO> selectListAll();

    /**
     * 分页查询用户管理信息
     *
     * @param param 分页信息
     * @return 用户管理信息
     */
    List<SysUserVO> selectList(SysUserParam param);

    /**
     * 通过角色名称查询
     * @param roleName
     * @return
     */
    SysRole selectSusRoleByName(String roleName);

    /**
     * 通过企业名称查询
     * @param companyName
     * @return
     */
    Company selectCompanyByName(String companyName);

    /**
     * 通过部门名称查询
     * @param departmentName
     * @return
     */
    Department selectDepartmentByName(String departmentName);

    /**
     * 通过区域名称查询
     * @param areaName
     * @return
     */
    Area selectAreaByName(String areaName);

    /**
     * 通过id查询用户管理信息
     * @param id
     * @return
     */
    SysUserVO selectById(Integer id);

    /**
     * 重置密码
     * @param passwordVO
     */
    void updatePassword(SysUserPasswordVO passwordVO);
}
